﻿using System.IO;
using System.Windows.Forms;
using Business.Forms;
using Business.Seguranca;

namespace Business.Entity.GestaoDeArquivos
{
    public class ArquivoDigitalRepository : RepositoryBase<ArquivoDigital>
    {
        public static void ImportarArquivo(string arquivo)
        {
            var stream = new FileStream(arquivo, FileMode.Open);
            var read = new BinaryReader(stream);
            var buf = read.ReadBytes((int)new FileInfo(arquivo).Length);
            var form = new FormDadosArquivoDigital();
            form.ShowDialog();
            while (form.GetTipo() != null)
            {
                if (form.DialogResult == DialogResult.Cancel)
                {
                    return;
                }
                if (form.GetTipo() != null)
                {
                    var arquivoDigital = new ArquivoDigital()
                    {
                        Md5 = new Criptografia.CriptHash(Criptografia.HashProvider.MD5).
                        GetHash(stream),
                        Historico = form.GetHistorico(),
                        Arquivo = buf,
                        Tipo = form.GetTipo()
                    };
                    Save(arquivoDigital);
                }

            }

        }
    }
}
